﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Forms;
using GS1.Library;
using SegIdenMovilBT.Herramientas;

namespace SegIdenMovilBT
{
    public static class Program
    {
        /// <summary>
        /// Punto de entrada principal para la aplicación.
        /// </summary>
        [MTAThread]
        public static void Main(string[] parametros)
        {
            try
            {
                // Bloquea barra de tareas
                GS1.TaskBarExv.Hide();

                // Establecer cursor de espera
                Cursor.Current = Cursors.WaitCursor;

                // Verificar si la aplicacion ya se encuentra en ejecucion
                if (Util.EstadoAplicacion(Constantes.TITULO_APLICACION)) { return; }

                if (parametros.Length <= 0)
                {
                    Application.Run(new frmLogin());
                }
                else if ((parametros[Constantes.INDICE_PARAMETRO_COMANDO].ToLower().Equals(Constantes.PARAMETRO_COMANDO_FECHA)))
                {
                    Util.SincronizarFechaHora(parametros[Constantes.INDICE_PARAMETRO_FECHA] + " " + parametros[Constantes.INDICE_PARAMETRO_HORA]);
                }
                else
                {
                    Util.ShowMessageboxError("Parametro '" + parametros[Constantes.INDICE_PARAMETRO_COMANDO] + "' incorrecto!!!", "Error");
                }

            }
            catch (Exception ex)
            {
                Util.MensajeError(ex, "Error");
            }
            finally
            {
                Cursor.Current = Cursors.Default;
                GS1.TaskBarExv.Show();
            }

        }
    }
}